package dataAccess;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;

import bussinesObjetcs.UsuarioBean;


public class UsuarioDAO {
//	ConnectionDB connectionDB;
	private PreparedStatement consultausuario, insertausuario;
	private Connection connection;
	
	public UsuarioDAO(){
		
	}
	
	public UsuarioDAO(Connection  connection){
      this.connection = connection;
	}

	public Connection getConnection(){
		return connection;
	}
		
	public void setConnection(Connection connection){
	   this.connection = connection;
	}
	
	public ArrayList<UsuarioBean> getUsuarioList() {	
		    ArrayList<UsuarioBean> usuarioList = new ArrayList<UsuarioBean>();
		    try {
		         consultausuario = connection.prepareStatement("SELECT * FROM files.usuario");	   
		         // obteniendo la  lista de colegios
		         synchronized(consultausuario) {
		            ResultSet results = consultausuario.executeQuery();
		            // get rows data{
		            while (results.next()) {
			           UsuarioBean usuario = new UsuarioBean();
			           
			           usuario.setIdusuario(results.getString("idusuario"));
			           usuario.setTipo(results.getString("tipo"));
			           usuario.setNombre(results.getString("nombre"));
			           usuario.setApellido(results.getString("apellido"));
			           usuario.setPassword(results.getString("password"));
			           usuario.setEmail(results.getString("email"));
			          
			           usuarioList.add(usuario);
		            }
		        }
		        consultausuario.close();
		    } catch(SQLException sqle){
				 System.out.println(sqle);
			}	   
		    return usuarioList;
	   }


	public UsuarioBean searchUser(String email) {	
		    UsuarioBean usuario = null;
		    try {
		         consultausuario = connection.prepareStatement("SELECT * FROM files.usuario WHERE email = ?");	   
		         consultausuario.setString(1, email);
		         // obteniendo colegio
		         synchronized(consultausuario) {
		            ResultSet results = consultausuario.executeQuery();
		            // get rows data{
			  		  
		            while (results.next()) {	            	
			           usuario = new UsuarioBean();
			           
			           usuario.setIdusuario(results.getString("idusuario"));
			           usuario.setTipo(results.getString("tipo"));
			           usuario.setNombre(results.getString("nombre"));
			           usuario.setApellido(results.getString("apellido"));
			           usuario.setPassword(results.getString("password"));
			           usuario.setEmail(results.getString("email"));
		            }
		        }
		        consultausuario.close();
		    } catch(SQLException sqle){
				 System.out.println(sqle);
			}	   
		    return usuario;
	   }
	 public void addUser (UsuarioBean usuario)  {
		 try {
		   insertausuario = connection.prepareStatement("INSERT INTO files.usuario VALUES(?,?,?,?,?,?)");
		   synchronized(insertausuario) {
			   
			   
			   insertausuario.setString(1, usuario.getIdusuario());
			   insertausuario.setString(2, usuario.getTipo());
			   insertausuario.setString(3, usuario.getNombre());
			   insertausuario.setString(4, usuario.getApellido());
			   insertausuario.setString(5, usuario.getPassword());
			   insertausuario.setString(6, usuario.getEmail());
			   insertausuario.executeUpdate();
		   }
		   insertausuario.close();
		 } catch(SQLException sqle){
			 System.out.println(sqle);
		 }
		   
	   }

}